package com.cheney.demo.designpatterns3.template.father;

/**
 * 模板设计模式
 * <p>
 * 抽取一个抽象模板类，同时定义模板方法 对于模板方法的实现，在子类中去实现
 */
public abstract class BaoquanTemplate {

    // 固定流程方法
    public void getTime(Object o) {
        updateBasic();
        updateApplication();
        do保全(o);
    }

    private void updateBasic() {
        System.out.println("修改了basic");
    }

    private void updateApplication() {
        System.out.println("修改了application");
    }

    // 钩子方法
    public abstract void do保全(Object o);

}
